Processes executed in a computer system may include execution context schedulers that schedule tasks of processes for execution in the computer system. A scheduler may create execution contexts (e.g., threads, fibers, or child processes) in order to execute tasks. During execution, the scheduler maintains control over these execution contexts and maintains control of the processing resources allocated to the scheduler.
At times, an execution context may be blocked by an entity other than the scheduler while executing on a processing resource of the scheduler. If the scheduler is not notified of the block, the processing resource that was executing the block execution context may become idle. In addition, the scheduler may undesirably attempt to schedule the execution context on a different processing resource when the execution context becomes unblocked.